pub fn new_birthday_probability(n: u32) -> f64 {
    // 特殊情况：如果人数小于 2，则没有生日相同的概率
    if n < 2 {
        return 0.0;
    }

    let days_in_year = 365.0;
    let mut prob_no_shared_birthday = 1.0;

    // 计算没有人生日相同的概率
    for i in 0..n {
        prob_no_shared_birthday *= (days_in_year - i as f64) / days_in_year;
    }

    // 至少两人生日相同的概率
    1.0 - prob_no_shared_birthday
}
